//package com.tanger.common.socket;
//
//import com.alibaba.fastjson.JSONObject;
//import com.brtbeacon.infra.util.JSON;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Service;
//
//import javax.annotation.Resource;
//import javax.websocket.Session;
//import java.io.IOException;
//import java.util.List;
//
//@Slf4j
//@Service
//public class IssuRedisSubscribe {
//
//    @Resource
//    private UserCaches caches;
//
//    /**
//     * 处理订阅消息
//     * @param message
//     */
//    public void handle(String message) {
//        IssuRedisPublisher.Data data = JSON.parse(message, IssuRedisPublisher.Data.class);
//        List<Session> users = caches.findUsers(data.pId, data.bId);
//        users.stream()
//                .forEach(u -> {
//                    send(u, data.data);
//                });
//        log.info("[issu-push] subscribe <- {}", message);
//    }
//
//    /**
//     * 推送消息
//     *
//     * @param session
//     * @param obj
//     */
//    private void send(Session session, Object obj) {
//        String text = JSONObject.toJSONString(obj);
//        log.info("[issu-push] session: {}, send message data: {}", session.getId(), text);
//
//        try {
//            session.getBasicRemote().sendText(text);
//        } catch (IOException e) {
//            log.error("[issu-push] send message error", e);
//        }
//    }
//
//}
